package com.banana.springcloud.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * @author layman
 * @description: 配置类
 * @date 2021/1/9
 */
@Configuration
public class ApplicationContextConfig {
    /**
     * Configuration注解：定义配置类，可替换xml配置文件，被注解的类内部包含有一个或多个被@Bean注解的方法，
     *      这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描，
     *      并用于构建bean定义，初始化Spring容器
     * LoadBalanced注解:可以使RestTemplate在请求时拥有客户端负载均衡的能力，只有加上，才能通过微服务名称调用服务
     * @return RestTemplate ：rest微服务请求的模板类
     */
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}
